//
//  NSDate+Extension.swift
//  SDAutoWeibo
//
//  Created by 刘健 on 16/3/31.
//  Copyright © 2016年 Clemmie. All rights reserved.
//

import UIKit

extension NSDate {
    //字符串转成NSdate
    class func compareSendContentTime(sinaTime :String) -> NSDate {
        
        let fmt = NSDateFormatter()
        
        fmt.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        
        //设置时区
        fmt.locale = NSLocale(localeIdentifier: "en")
        
        //转成NSdate
        let date = fmt.dateFromString(sinaTime) ?? NSDate()
        
        return date
    }
    
    /*
    刚刚(一分钟内)
    X分钟前(一小时内)
    X小时前(当天)
    昨天 HH:mm(昨天)
    MM-dd HH:mm(一年内)
    yyyy-MM-dd HH:mm(更早期)
    */
    
    func sinaDateDescripiton() -> String {
        
        //生成日历
        let calendar = NSCalendar.currentCalendar()
        
        //判断是否是当天
        if calendar.isDateInToday(self){
            let timeInterval = Int(NSDate().timeIntervalSinceDate(self))
            
            //低于一分钟
            if timeInterval < 60 {
                return "刚刚"
                //小于一小时 返回分钟前
            }else if timeInterval < 60 * 60 {
                return "\(timeInterval / 60)分钟前"
            }else {
                //小于一天 返回小时前
                return "\(timeInterval / 60 / 60)小时前"
            }
        }
        /*
        昨天 HH:mm(昨天)
        MM-dd HH:mm(一年内)
        yyyy-MM-dd HH:mm(更早期)
         */
          //需要格式化
         var formatter = ""
        
        //是否昨天
        if calendar.isDateInYesterday(self) {
            formatter = "昨天 HH:mm"
            //是否一年内
        }else if calendar.compareDate(self, toDate: NSDate(), toUnitGranularity: NSCalendarUnit.Year) == NSComparisonResult.OrderedSame {
            
            formatter = "MM-dd HH:mm"
        }else { // 更早期
            formatter = "yyyy-MM-dd HH:mm"
        }
        
        let fmt = NSDateFormatter()
        fmt.locale = NSLocale(localeIdentifier: "en")
        fmt.dateFormat = formatter
        return fmt .stringFromDate(self)
    }
    
}